package com.ys.作业;

import java.io.File;
import java.io.FileFilter;

/**
 * 描述: 树形结构输出指定文件夹下面所有的文件和文件夹
 * 5.以树状结构输出计算机某个指定文件夹下的所有的文件和子文件夹名称。
 * 提示：使用File的方法，并结合递归实现
 * @author CodeYang
 * @version 2020/12/23 21:17
 */
public class 树形结构输出指定文件夹下面所有的文件和文件夹05 {
    public static void main(String[] args) {
        File file = new File("E:\\知识库整理+");
        printsFiles(file,0);

    }

    static void printsFiles(File parentFile,int level){
        // 输出 - 分割树型结构
        for (int i = 0; i < level; i++) {
            System.out.print("-");
        }
        System.out.println(parentFile.getName());
        // 出口
        // 判断是否时文件夹 时的话遍历子文件+子文件夹
        if (parentFile.isDirectory()){
            // 返回 目标文件夹 下面的所有子 File 对象 (包括 文件和文件夹)
            File[] files = parentFile.listFiles();
            for (File file : files) {
                printsFiles(file,level+1);
            }
        }
    }
}
